package com.freemalll.system.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.freemalll.system.domain.SysOrganization;

/**
 * 组织机构 数据层
 * 
 * @author freemalll
 */
public interface SysOrganizationMapper extends BaseMapper<SysOrganization>
{
    /**
     * 查询组织机构信息
     * 
     * @param organization 组织机构信息
     * @return 组织机构信息
     */
    public SysOrganization selectOrganization(SysOrganization organization);

    /**
     * 通过ID查询组织机构
     * 
     * @param id 组织机构ID
     * @return 组织机构信息
     */
    public SysOrganization selectOrganizationById(String id);

    /**
     * 查询组织机构列表
     * 
     * @param organization 组织机构信息
     * @return 组织机构集合
     */
    public List<SysOrganization> selectOrganizationList(SysOrganization organization);

    /**
     * 根据组织名称查询组织机构信息
     * 
     * @param orgName 组织名称
     * @return 组织机构信息
     */
    public SysOrganization selectOrganizationByOrgName(String orgName);

    /**
     * 根据组织唯一编码查询组织机构信息
     * 
     * @param orgOnlyCode 组织唯一编码
     * @return 组织机构信息
     */
    public SysOrganization selectOrganizationByOrgOnlyCode(String orgOnlyCode);

    /**
     * 根据父节点ID查询子组织机构
     * 
     * @param parentId 父节点ID
     * @return 组织机构集合
     */
    public List<SysOrganization> selectOrganizationByParentId(String parentId);

    /**
     * 校验组织名称是否唯一
     * 
     * @param orgName 组织名称
     * @return 结果
     */
    public int checkOrgNameUnique(String orgName);

    /**
     * 校验组织唯一编码是否唯一
     * 
     * @param orgOnlyCode 组织唯一编码
     * @return 结果
     */
    public int checkOrgOnlyCodeUnique(String orgOnlyCode);
}